When a source device desires to send a data packet to a target device through a particular network, such as a data center backbone, the source device provides the data packet to the network. The data packet is routed through the network, exiting the network at a device that continues routing the data packet to the target device. While such networks can be beneficial in transmitting the data packet from the source device to the target device, they are not without their problems. One such problem is that there is typically a single path in the network through which packets from a particular source device to a particular target device are routed, which reduces the flexibility of the network. Another such problem is that, in order for a router in the network to transmit a received packet to the correct next router in the network, the routers in the network typically store mappings for each possible target device address (or target device address prefix). The number of mappings such router devices store can become very large, increasing the cost of such router devices.